// 状态管理
import {
    defineStore
} from 'pinia'
import {
    ref
} from 'vue'

// 用户缓存, 浏览器关了，也会存在，用户保存用户登录信息。
export const userInfoStore = defineStore('user', () => {

    const userInfo = ref()

    // 保存会员信息，登录时使用
    const setUserInfo = (name, password) => {
        let user = {
            name: name,
            password: password
        }
        userInfo.value = user
    }
    // 清理会员信息，退出时使用
    const clearUserInfo = () => {
        userInfo.value = null
    }

    // 清理会员信息，退出时使用
    const isLogin = () => {
        console.log(userInfo.value)
        // if (userInfo.value == null)
        return userInfo.value != null
    }
    const logout = () => {
        // 发送登出请求。
        clearUserInfo()
    }

    // 记得return
    return {
        userInfo,
        setUserInfo,
        clearUserInfo,
        isLogin,
        logout
    }
}, { // 持久化
    persist: {
        storage: {
            setItem(key, value) {
                uni.setStorageSync(key, value) // 多端兼容
            },
            getItem(key) {
                return uni.getStorageSync(key) // 多端兼容
            }
        }
    }
})